iTunes 被曝未加引号的路径 0day:勒索软件如何利用它执行任意代码并逃避检测?
2019年8月,就在 Morphisec 网络安全公司发布了关于一次针对性 BitPaymer/IEncrypt 攻击活动的一个月之后,该公司研究人员再次发现,同样的攻击者利用一种新型的令人警觉的逃避技术在攻击汽车行业的另外一家企业。
该公司研究员Michael Gorelik 发布博客文章,详细说明了 BitPaymer 如何利用 Bonjour 更新软件中的一个苹果 0day 执行任意代码并躲避检测。奇安信代码卫士团队将文章翻译如下:
引言
这次我们发现 BitPaymer 利用的是 Windows 版 iTunes Bonjour 更新软件中的一个苹果 0day 漏洞。鉴于本周苹果已为 Mac 版 iTunes 发布 macOS Catalina 而摒弃 iTunes但在可预见的未来 Windows 用户将仍然需要依靠 iTunes,因此这个 Windows 利用值得注意。
攻击者滥用了一个未加引号的路径来维护持久性并逃避检测。研究人员遵循负责任的披露策略并立即将攻击详情和苹果公司共享。在披露期间等待官方发布补丁期间,研究人员发现并报告了其它可能遭类似滥用的易受攻击的组件。目前苹果公司已发布官方更新,据此我们发布了攻击详情。
技术详情
如在引言中所述,攻击者滥用的是一个未加引号的路径漏洞。虽然未加引号的路径漏洞遭在野利用的情况很罕见,但它确实又是一个已知的漏洞,过去15年或在更长的时间里,其它厂商也曾找到过它(如英特尔管理引擎、ExpressVPN 和 ForcePointVPN)的踪迹。在多数情况下,该漏洞是在权限提升的上下文中提及的,因为它存在于具有管理员执行权限的服务或其它进程中。该漏洞的相关文档如此全面,你或许认为已经足以引起编程人员的重视了。但事实并非如此,本文中所述的这个苹果 0day 就是证据。
软件开发人员正在使用越来越多的面向对象的编程,而且在很多时候当他们为某个路径赋予变量值时,他们认为单单使用字符串类型的变量就足够了,但事实上并非如此!仍然需要给路径加引号 (“\\”) !
Bonjour 是苹果用于提供后续更新的一种机制,其中就包括这些未加引号路径之一。Bonjour 在已安装软件部分具有自己的安装条目并具有执行该过程的计划任务。
在多数情况下,人们并未意识到在卸载 iTunes 时还需要单独卸载 Bonjour 组件。因此,最后机器上还残留着所安装的仍在运行的更新软件任务。一项调查显示,Bonjour 更新软件安装在多家不同企业的大量计算机上,这个结果让人吃惊:其中很多计算机在多年前就已经卸载了iTunes但 Bonjour 组件仍然还在后台静默地、以未更新的状态持续运行。之后,我们顺藤摸瓜找到了攻击面以及攻击者选择该进程躲避检测的动机。
绕过检测
由于很多检测的解决方案都是基于行为检测,因此进程执行链(父进程-子进程)在警示保真度中发挥着重要作用。如果由已知供应商签名的合法进程执行了一个新的恶意子进程,比起父进程未被已知向量签名的情况,相关警示的置信度得分将更低。由于 Bonjour 已签名且是已知的,因此正好进入攻击者的视线。另外,安全厂商尝试将与已知软件应用程序的不必要冲突最小化,因此出于担心破坏操作的考虑,并不会阻止这种行为。
另外,恶意的“Program”文件不带由扩展名如“.exe”,意味着 AV 产品将可能不会扫描该文件,因为这些产品金扫描某些特定的文件扩展以限制它们对计算机的性能影响。在这种情况下,Bonjour 试图从“ProgramFiles”文件夹运行,但由于路径未加引号,它转而运行被命名为“Program”的BitPaymer 勒索软件。这就是利用该0day 能够躲避检测并逃避 AV 产品的原因。
如上所述,发现这一点后,我们在 iTunes 软件和安装程序中发现了更多的未加引号的路径漏洞。我们也注意到恶意文件并不一定要放在C盘中并被命名为“Program”。它还可被命名为“Apple”或“Apple Software”并被放在“ProgramFiles”中。当然,攻击者需要对这些文件夹的写入权限。目前我们尚未发现该漏洞引发的权限提升情况。
结论
BitPaymer/IEncrypt 组织展现出非凡的创新精神,此前是绕过Windows Defender 模拟器,而现在是通过 EDR利用 Bonjour 中的未加引号的路径绕过AV产品检测。该组织事先一定开展了严肃的侦察研究工作,才能够持续抢跑防御人员。
10月7日,苹果公司发布Windows 版iTunes 12.10.1和 Windows 7.14/10.7 版 iCloud解决了这些问题。
苹果发布的相关补丁可见:
https://support.apple.com/en-us/HT210637
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。